package com.person.leetcode.editor.cn;

import java.util.HashMap;

/**
 * 13.罗马数字转整数
 * 2022-06-06 10:24:04
 **/
public class Sequence_0013_RomanToInteger {
    public static void main(String[] args) {
        Solution solution = new Sequence_0013_RomanToInteger().new Solution();
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {

        private int getValue(char ch) {
            switch (ch) {
                case 'I':
                    return 1;
                case 'V':
                    return 5;
                case 'X':
                    return 10;
                case 'L':
                    return 50;
                case 'C':
                    return 100;
                case 'D':
                    return 500;
                case 'M':
                    return 1000;
                default:
                    return 0;
            }
        }

        public int romanToInt(String s) {
            int total = 0;
            int prev = getValue(s.charAt(0));
            for (int i = 1; i < s.length(); i++) {
                int v = getValue(s.charAt(i));
                if (prev<v){
                    total-=prev;
                }else{
                    total+=prev;
                }
                prev = v;
            }
            total += prev;
            return total;
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}